<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 1.判断对象是否相同
        // Object.is();
        // let obj1 = {
        //     myname:'张三',
        // }
        // let obj2 = {
        //     myname : '张三',
        // }
        // let obj2 = obj1;


        // console.log(NaN === NaN);// false
        // console.log(Object.is(NaN,NaN));// true



        // 2.Object.assign(); 合并2个或者多个对象; (重点)
        // Object.assign();
        // 相同键名会覆盖
        // 是一个浅拷贝
        // let obj1 ={
        //     name :'张三'
        // }
        // let obj2 ={
        //     age:20,
        // }
        // let res = Object.assign(obj1,obj2);
            // console.log(res);


        // 展开运算符 复制的对象或者数组 也是浅拷贝 
            // let arr = [1,2,3,[6,7]];
            // let arr2 = [...arr];
            // arr[0]= 5;
            // arr[3][0] = 8;
            // console.log(arr2);

            // 3.Object.hasOwn() // es6 判断某个属性是否为自身属性
            // es5 obj.hasOwnProperty("key")// es5
            // let obj = {
            //     myname : '张三',
            //     age : 20
            // }
            // console.log(Object.hasOwn(obj,'age1'));


            //  4.Object.keys(获取对象的所有键名),放在一个数组里 
            //  5.Object.values(获取对象的所有键值),放在一个数组里
            
            // 5.Object.seal(可以把对象 变成不可配置 ,可以修改,不能删除)
        //    let obj = {
        //            myname:"张三",
        //            age:20
        //        }
            //    Object.seal(obj);
        //        // // Object.freeze(obj);
            //    obj.myname = "李四";
            //    console.log(obj);
           
            //    delete obj.myname;
            //    console.log(obj);
    </script>
</body>
</html>